אני ממש רוצה לכתוב בעצמי מערכת CMS (שלא תהיה קוד פתוח; לא חסר.).
1. האם זה נבון לבסס אותה על פרימו'ורק כמו Laravel?
2. האם כדאי לי ליצור אחת גדולה וגמישה שתתאים לכל הפרויקטים שלי (וכמובן לעדכן אותה מדי פעם) - נניח, שתהיה אפשרות להוסיף לה הרחבות וכדו' - או שכדאי לי לפתח כל פרויקט בנפרד, בלי שום דבר במשותף חוץ ממחלקות מוכנות מראש וכדו'?
יתרונות וחסרונות שאני חושב עליהם כרגע: מערכת CMS אחת ככל הנראה תהיה כבדה יחסית, אך יהיה הרבה יותר קל לעדכן אותה (אם עם הזמן יהיו לי לקוחות, ואני רוצה להבטיח להם מידת מה של עדכוני אבטחה וכדו'). לעומת זאת, כל פרויקט בנפרד לגמרי יהיה אולי קצת מסובך יותר, בלתי אפשרי להבטיח ללקוחות עדכונים, אבל הרבה פחות כבד (וקצת פחות גמיש).
3. איך אני יכול ליצור משהו שבודק (באמצעות שירות אינטרנטי) אם יש למערכת עדכונים קיימים - ולבצע אותם, בלי לפגוע בשאר הקוד שלא צריך להתעדכן, בהגדרות הקיימות במערכת, וכדו'?

נ.ב. למה לפעמים אומרים "מערכת CMS", כאשר ה-S בעצם מסמל System? זה כמו לומר "המלך קינג ג'ורג".

4 תשובות

avatar ענה intval ב 07 לינואר 2013 #

1. כן

2. תלוי. וורדפרס כתבו מנוע די גמיש שמאפשר לחבר אליו פונקציונליות שונה כשצריך ואצלהם זה עובד. אני מאמין שיהיו לך הרבה דברים משותפים בין פרוייקט לפרוייקט ואת רוב הדברים הזהים אתה יכול להכניס לבאנדלים. באנדל הזדהות, באנדל עריכת תוכן/עמודים/בלוג וכו'.

המערכת תהיה יחסית כבדה, אבל כל עוד אתה משתמש ב autoload וטוען רק את החלקים שאתה צריך ובפיתוח אתה מרכיב אותה כמו פאזל ושולח אותה לפרודאקשן רק עם הבאנדלים שהיא צריכה בפועל ולא עם כל אלה שהי פעם כתבת - היא לא תהיה יותר מדי כבדה.

3. בעיקרון אתה יכול לשמור איפשהו קובץ עם הטיימסטמפ של העדכון האחרון ובשרת שלך ליצור רשימה של קבצים ומתי פעם אחרונה הם עודכנו. תכתוב סקריפט שפונה לשרת ושואל אותו איזה קבצים השתנו מאז הטיימסמפ ששמור אצלו, ואם משהו השתנה - הוא מוריד ושומר מחדש את הקבצים שהשתנו.

במקום כל זה אתה יכול גם ללכת על composer שהוא מנהל התלויות בעולם ה PHP עם מנגנון עדכון עצמאי מתוך גיט אם תרצה. כל מה שישאר לך, הוא לכתוב את הבאנדלים שלך בצורה כזאת שקומפוזר יודע להבין אותם בתור פרוייקטים נפרדים ולמשוך אותם לתוך האתרים של האנשים. שזה הכיוון שבו הולכים laravel4. לעשות את כל הפריימוורק מורכב מתת-פרוייקטים שנלקחים על ידי קומפוזר. בגלל זה לאראוול 4 הולך להיות אחלה פריימוורק. בינתיים אותו דבר קורה כבר היום ב aura וחלקית בסימפוני.


נ.ב. בין פריימוורק לבין cms יש באמצע עוד אלמנט שנקרא cmf
content management framework
שהוא בעצם פריימוורק עם כל מיני דברים מוכנים מראש בכיוון של cmS, כמו עורכי תוכן, שמירת היסטוריית תוכן, ניהול משתמשים וחלקים מוכנים אחרים. מה שבסופו של דבר ייצא לך, זה בדיוק cmf כזה שמבוסס על laravel.
היום יש פרוייקט בשם symfony cmf שעושה בדיוק אותו דבר על בסיס סימפוני והוא עדיין בתהליך.

avatar ענה OrelBeY ב 07 לינואר 2013 #

תודה רבה! :-)

avatar ענה OrelBeY ב 20 לינואר 2013 #

על מנת לעדכן קובץ הגדרות (במקרה שנוספו/הורדו הגדרות, למשל), כדאי לי פשוט לכתוב סקריפט שייצר את הקובץ העדכני עם ההגדרות הישנות, נכון?

avatar ענה intval ב 20 לינואר 2013 #

תלוי מה זה הקובץ הגדרות הזה. אין פה תשובה נכונה או לא נכונה.
מה שנראה לך יותר הגיוני - תעשה.